package com.gao.configfile;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * 1.bootstrap文件的加载条件：有SpringCloud组件引入项目时生效
 * 2.加载顺序：注意这里是加载顺序(加载到容器中的顺序)
 *  bootstrap 先于 application
 *  properties 先于 yml
 * 3.属性读取属性
 *  application 先于 bootstrap
 *  properties 先于 yml
 *  记忆方法：属性是先找自己容器中的，没有的再去bootstrap中寻找
 *
 * 4.@ImportResource是引入XML配置文件的
 * 5.@PropertySource是引入properties文件的
 */
@SpringBootApplication
@ImportResource("classpath:spring.xml")
@PropertySource("classpath:my.properties")
public class ConfigFileApplication {


    public static void main(String[] args) {
        SpringApplication.run(ConfigFileApplication.class, args);
    }

    @Component
    class Test {
        Test(@Value("${test.name}") String name, @Value(("${prop.name}")) String propName) {
            System.err.println(name);
            System.err.println(propName);
        }
    }


}
